home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
falcon
/
programm.ing
/
nt_dsp1.lzh
/
NT_DSP1.MSA
/
FFT
/
FFTR2BF.HLP
< prev
next >
Wrap
Text File
|
1990-01-17
|
2KB
|
36 lines
FFTR2BF
Name: FFTR2BF.ASM
Type: Assembler program
Version: 1.0
Date Entered: February 20, 1989
Last Change: June 13, 1988
Description: Fast Fourier Transform with Block Floating Point
This program calculates the Radix-2, Decimation-in-Time Fast Fourier Transform
using Block Floating Point.
This algorithm operates as follows:
1. The algorithm steps through Radix-2, Decimation-in-Time butterflies as
the FFTR2AA routine. Within the butterflies, the limit bit (L) is checked.
2. If L is set (limiting has occurred), the routine switches to a
subroutine.
3. The subroutine recalculates the butterfly outputs for the
complete pass, and scales down the butterfly outputs. A
"block exponent" keeps track of the number of times the
results have been scaled.
The algorithm results in a much larger dynamic range and better
precision for the FFT results. Because of the extra instructions within
the butterflies, and the subroutine handling conditional scaling, it
executes slower than other FFT routines.
The calling sequence is FFTR2BF points,passes,data,twiddle,temp where:
- points is the number of points in the FFT
- passes is the number of passes in the FFT (log2(points))
- data is the starting location of the input data
- twiddle is the starting location of the twiddle factor table
- starting location of scratch memory (four consecutive locations). On output,
x:(temp)+2 contains the common exponent (number of bits scaled).
x:(temp)+3 shows (in base 4) the number of bits scaled per stage
^Z